perm filename CLOK1.SAI[HAK,HPM]1 blob
sn#078842 filedate 1974-05-24 generic text, type T, neo UTF8
00100 BEGIN "clok1"
00200 REQUIRE "DDSTUF.REL[CAR,HPM]" LOAD_MODULE;
00300 EXTERNAL PROCEDURE SCREEN(REAL XLO,YLO,XHI,YHI);
00400 EXTERNAL PROCEDURE LINE(REAL XLO,YLO,XHI,YHI);
00500 EXTERNAL PROCEDURE POLYGO(INTEGER N; REAL ARRAY X,Y);
00505 EXTERNAL PROCEDURE RECTAN(REAL XLO,YLO,XHI,YHI);
00600 EXTERNAL PROCEDURE DPYUP(INTEGER N);
00700 EXTERNAL PROCEDURE DDINIT;
00710 EXTERNAL PROCEDURE LITEN;
00720 EXTERNAL PROCEDURE DRKEN;
00730 EXTERNAL PROCEDURE INVEN;
00800 EXTERNAL INTEGER PROCEDURE GDDCHN(INTEGER CHAN);
00900 EXTERNAL PROCEDURE RDDCHN(INTEGER CHAN);
01000 REAL FORTRAN PROCEDURE SIN(REAL X);
01100 REAL FORTRAN PROCEDURE COS(REAL X);
01200 REAL X1,Y1,X2,Y2,SIZE; STRING S; INTEGER I,J,K,L,M,N,DUM;
01300 INTEGER ARRAY DIGS[0:9];
01305
01310 PROCEDURE DIG(REAL X;INTEGER I);
01315 BEGIN INTEGER J,K,L;
01320 J←DIGS[I];
01330 FOR K←0 STEP 1 UNTIL 4 DO FOR L←0 STEP 1 UNTIL 6 DO
01340 IF (J LSH (L*5+K-35)) LAND 1 THEN
01350 RECTAN(X+.2*(2*K/5-1),.3*(2*(6-L)/7-1),
01355 X+.2*(2*(K+1)/5-1),.3*(2*(7-L)/7-1));
01360 END;
01365
01400
01500 DIGS[0]←'355736757334;
01550 DIGS[1]←'147061430636;
01575 DIGS[2]←'355431463076;
01587 DIGS[3]←'355431417334;
01593 DIGS[4]←'553267630614;
01600 DIGS[5]←'774307417334;
01650 DIGS[6]←'355707557334;
01675 DIGS[7]←'761463143060;
01687 DIGS[8]←'355733557334;
01693 DIGS[9]←'355733617334;
01700 OUTSTR("SIZE:"); SIZE←REALSCAN(S←INCHWL,DUM); IF SIZE=0 THEN SIZE←1;
01800 SCREEN(-1,-1/SIZE,1,1/SIZE);
01900 WHILE TRUE DO
02000 BEGIN
02100 N←CALL(0,"TIMER")%3600;
02200 IF N≠DUM THEN
02300 BEGIN
02400 DUM←N;
02500 M←(N%60) MOD 12;
02600 N←N MOD 60;
02700 DDINIT; FOR K←'32,'33,'34,'35,'37 DO DPYUP(K);
02750 "DRKEN; RECTAN(-1.1,-1.1/SIZE,1.1,1.1/SIZE);"
02776 "FOR I←1 STEP 1 UNTIL 5 DO FOR K←'36 DO DPYUP(K);"
02787 DRKEN; DDINIT;
02800 IF M%10 ≠ 0 THEN DIG(-.8,M%10);
02900 DIG(-.3,M MOD 10);
03000 DIG(.25,N%10);
03100 DIG(.75,N MOD 10);
03150 RECTAN(-.05,.1,0,.15); RECTAN(-.05,-.15,0,-.1);
03200 FOR I←1 STEP 1 UNTIL 5 DO FOR K←'36 DO
03250 BEGIN GDDCHN(K); DPYUP(K); RDDCHN(K); END;
03300 END;
03400 CALL(10,"SLEEP");
03500 END;
03600
03700 END;